#encoding:utf-8
from mutagen.id3 import ID3, APIC, TIT2, TPE1, TALB
import os


def get_mp3(mp3path):
    mp3_list = []
    for dirs, dirnames, files in os.walk(mp3path):
        for file in files:
            if file.endswith('.mp3'):
                mp3_list.append(dirs+'/'+file)
    return mp3_list


def SetMp3Info(mp3file, info):
    songFile = ID3(mp3file)
    songFile['APIC'] = APIC(  # 插入封面
        encoding=3,
        mime='image/jpeg',
        type=3,
        desc=u'Cover',
        data=info['picData']
    )
    songFile['TIT2'] = TIT2(  # 插入歌名
        encoding=3,
        text=info['title']
    )
    songFile['TPE1'] = TPE1(  # 插入第一演奏家、歌手、等
        encoding=3,
        text=info['artist']
    )
    songFile['TALB'] = TALB(  # 插入专辑名
        encoding=3,
        text=info['album']
    )
    songFile.save()


if __name__ == '__main__':
    mp3path = r'C:/Users/xxx/Desktop'
    picPath = r'C:/Users/xxx/Desktop/fanren.png'

    with open(picPath, 'rb') as f:
        picData = f.read()

    mp3_list = get_mp3(mp3path)
    for mp3file in mp3_list:
        newname = mp3file
        songtitle = newname.split('/')[-1][:12]
        info = {'picData': picData,
                'title': songtitle,
                'artist': '刘德华',
                'album': '随便'}
        SetMp3Info(mp3file, info)
